In computer networks, a plurality of network stations are interconnected via a communications medium. For example, Ethernet is a commonly used local area network scheme in which multiple stations are connected to a single shared serial data path. These stations often communicate with a switch located between the shared data path and the stations connected to that path. Typically, the switch controls the communication of data packets on the network.
When all of the stations connected to the network are simultaneously operating, packet traffic on the shared serial path can be heavy with little time between packets. In addition, data received by the switch may include data that is being transmitted to a single station (unicast), data that is being transmitted to multiple stations (multicast) or data that is being transmitted to all the stations (broadcast) . In order for the data to be transmitted without delays, the switch must make data forwarding decisions for many packets being transmitted to a large number of destinations in a short amount of time.
One arrangement for generating frame forwarding decisions uses a direct addressing scheme, where the network switch accesses a fixed address table in a row-by-row search to generate a frame forwarding decision. However, these direct addressing arrangements may not support data transmissions from stations utilizing virtual local area network (VLAN) tagging as well as transmissions from stations that do not utilize VLAN tagging. In addition, as the number of stations in the network increases, such systems become impractical since a row-by-row search for the appropriate table entry may be too slow for making frame forwarding decisions for multiple received data frames.